package com.ruoyi.cderp.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 成品对象 product
 *
 * @author ruoyi
 * @date 2025-06-09
 */
public class Product extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private String id;

    /** 产品编码 */
    @Excel(name = "产品编码")
    private String productCode;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;

    /** 分类ID */
    private String categoryId;

    /** 分类名称 */
    @Excel(name = "分类名称")
    private String categoryName;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String specification;

    /** 标准成本 */
    @Excel(name = "标准成本")
    private BigDecimal standardCost;

    /** 销售价格 */
    @Excel(name = "销售价格")
    private BigDecimal salePrice;

    /** 生产周期(天) */
    @Excel(name = "生产周期(天)")
    private Long productionCycle;

    /** 质量标准 */
    private String qualityStandard;

    /** 是否批次管理(0:否,1:是) */
    private Long isBatchManaged;

    /** 是否序列号管理(0:否,1:是) */
    private Long isSnManaged;

    /** 状态(0:下架,1:上架,2:停产) */
    @Excel(name = "状态(0:下架,1:上架,2:停产)")
    private Long status;

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setProductCode(String productCode)
    {
        this.productCode = productCode;
    }

    public String getProductCode()
    {
        return productCode;
    }
    public void setProductName(String productName)
    {
        this.productName = productName;
    }

    public String getProductName()
    {
        return productName;
    }
    public void setCategoryId(String categoryId)
    {
        this.categoryId = categoryId;
    }

    public String getCategoryId()
    {
        return categoryId;
    }
    public void setCategoryName(String categoryName)
    {
        this.categoryName = categoryName;
    }

    public String getCategoryName()
    {
        return categoryName;
    }
    public void setSpecification(String specification)
    {
        this.specification = specification;
    }

    public String getSpecification()
    {
        return specification;
    }
    public void setStandardCost(BigDecimal standardCost)
    {
        this.standardCost = standardCost;
    }

    public BigDecimal getStandardCost()
    {
        return standardCost;
    }
    public void setSalePrice(BigDecimal salePrice)
    {
        this.salePrice = salePrice;
    }

    public BigDecimal getSalePrice()
    {
        return salePrice;
    }
    public void setProductionCycle(Long productionCycle)
    {
        this.productionCycle = productionCycle;
    }

    public Long getProductionCycle()
    {
        return productionCycle;
    }

    public void setQualityStandard(String qualityStandard)
    {
        this.qualityStandard = qualityStandard;
    }

    public String getQualityStandard()
    {
        return qualityStandard;
    }
    public void setIsBatchManaged(Long isBatchManaged)
    {
        this.isBatchManaged = isBatchManaged;
    }

    public Long getIsBatchManaged()
    {
        return isBatchManaged;
    }
    public void setIsSnManaged(Long isSnManaged)
    {
        this.isSnManaged = isSnManaged;
    }

    public Long getIsSnManaged()
    {
        return isSnManaged;
    }
    public void setStatus(Long status)
    {
        this.status = status;
    }

    public Long getStatus()
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("productCode", getProductCode())
            .append("productName", getProductName())
            .append("categoryId", getCategoryId())
            .append("categoryName", getCategoryName())
            .append("specification", getSpecification())
            .append("standardCost", getStandardCost())
            .append("salePrice", getSalePrice())
            .append("productionCycle", getProductionCycle())
            .append("qualityStandard", getQualityStandard())
            .append("isBatchManaged", getIsBatchManaged())
            .append("isSnManaged", getIsSnManaged())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
